package cn.zymall.user.controller;
import cn.zymall.common.model.User;
import cn.zymall.common.utils.redis.RedisUtil;
import cn.zymall.user.service.SignUpService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * @author : th
 * @ClassName: SignUpController
 * @Description : TODO
 * @date 2020年08月19日 15:51
 **/
@RestController
@RequestMapping("/sign")
public class SignUpController {


    @Autowired
    private SignUpService sign;


    @Autowired
    private RedisUtil redisUtil;



    /**
     * @author：th
     * @Description：查询redis用户信息是否过期
     * @Param：uid
     * @return：Boolean
     **/
    @GetMapping("/redisQuery")
    public User redisQuery(String uid){

        User o = (User) redisUtil.get(uid);

        if (o != null){
            return o;
        }else{
            return null;
        }
    }




    /**
     * @author：th
     * @Description：登录注册发送验证码
     * @Param：用户手机号
     * @return：User
     **/
    @GetMapping("/send")
    public User send(String value){
        return sign.send(value);

    }

    /**
     * @author：th
     * @Description：用户登录
     * @Param：用户账号密码
     * @return：User
     **/
    @PostMapping("/poling")
    public User poling(String value,String pwd){
        System.out.println(value+"______"+pwd);
        return sign.poling(value,pwd);
    }


    /**
     * @author：th
     * @Description：用户登录
     * @Param：用户手机号查询，短信验证码
     * @return：User
     **/
    @PostMapping("/inquiry")
    public User inquiry(String value,String sms){

        return sign.inquiry(value,sms);
    }


    /**
     * @author：th
     * @Description：发送修改密码短信
     * @Param：用户电话
     * @return：
     **/
    @GetMapping("/alter")
    public User alter(String value){
        return sign.alter(value);
    }

    /**
     * @author：th
     * @Description：用户修改登录密码
     * @Param：用户id、电话、密码、验证码
     * @return：boolean
     **/
    @PostMapping("/revise")
    public User revise(User user,String sms){
        return sign.revise(user,sms);
    }





}
